import axios from 'axios';
import Vue from 'vue';
const $vue = new Vue();

export const baseURL = 'http://10.168.1.146:8085'; //线上
// 导出 WebSocket 地址（将 http 改为 ws，去掉 api 后缀，根据实际后端路径调整）
export const wsBaseURL = 'ws://10.168.1.146:8087'; // 线上 WebSocket 地址
const service = axios.create({
    // process.env.NODE_ENV === 'development' 来判断是否开发环境
    // easy-mock服务挂了，暂时不使用了
    // headers: {
    //   'content-type': 'application/json;charset=UTF-8',
    //   'token': localStorage.getItem('token') 
    // },
    baseURL: baseURL,
    // withCredentials: true,
    timeout: 500000
});

// 添加请求拦截器
service.interceptors.request.use(config => {
    // 在发送请求之前做某事，比如说 设置token
    // config.headers['token'] = JSON.parse(localStorage.getItem('AIQAModel')).token || '';
    return config;
}, error => {
    // 请求错误时做些事
    return Promise.reject(error);
});

// 添加响应拦截器
service.interceptors.response.use(response => {
    const res = response.data;
    // 如果返回的状态不是0 就主动报错
    if (res.code == 200) {
        return res.data;
    }
    // else if (res.status == 501) {
    //     localStorage.removeItem('AIQAModel');
    //     router.push('/login');
    //     alert(res.message || '服务器开小差了');
    //     return Promise.reject(res.message || 'error')
    // } 
    else {
        $vue.$message.error(res.message || '服务器开小差了');
        return Promise.reject(res.message || 'error')
    }
}, error => {
    $vue.$message.error('服务器开小差了');
    return Promise.reject('error'); // 返回接口返回的错误信息
})

export default service;
